import org.junit.*;

import static org.junit.Assert.assertEquals;

public class LiczbaTest2 {

	private Liczba n255_10 = null;
	private Liczba  n_dopisane=null;
	
	@Before
	public void setUp(){
		try{
			n255_10 = new Liczba("255", 10);
			n_dopisane=new Liczba("17",10);
		}
		catch(LiczbaException ex){}
	}
	
	@Test
	public final void Podstawa17()
	{
	    try 
	    {
	    	assertEquals("10", n_dopisane.zapis(17));
		} 
	    catch (LiczbaException e) {}
	}
	
	@Test
	public final void zamiana_2(){
		try{
			assertEquals("Nie dziala zamiana na system 2.",
					"11111111", n255_10.zapis(2));
		}
		catch(LiczbaException ex){}
	}

	@Test(expected=LiczbaException.class)
	public final void wyjatekPrzyTworzeniu() throws LiczbaException{
		Liczba liczba = null;
		liczba = new Liczba("10", 1);
	}

	@Test(timeout=100)
	public final void czasDzialania(){
		try{
			Liczba liczba = null;
			for(int i = 2; i <= 17; ++i){
				liczba = new Liczba("100", i);
				for(int j = 2; j <= 17; ++j){
					System.out.println(liczba.zapis(i)
							+ "(" + i + ") = " +
							liczba.zapis(j) + "(" + j + ")");
				}
			}
		}
		catch(LiczbaException ex){}
	}
	
	@Ignore
	@Test
	public void ignorowany(){
		System.out.println("ABRA KADABRA");
	}
	
	// TEST DODANY O 22:45
	@Test
	public void tworzenieObjektu(){
		Liczba liczba = null;
		try{ liczba = new Liczba("10", 16); }
		catch(LiczbaException ex){}
		assertEquals("Tworzenie objektu nie dziala jak nalezy.", "16", liczba.zapis10());
		
	}
	
	@After
	public void tearDown(){
		n255_10 = null;
	}

}
